//
//  BaseTableViewController.swift
//  CYMWeiBo-20
//
//  Created by apple on 15/12/13.
//  Copyright © 2015年 IT 小码农. All rights reserved.
//

import UIKit
//OC 中没有多继承,用协议代替
//根据用户是否登录,显示访客视图还是表视图
class BaseTableViewController: UITableViewController,visitorLoginViewDelegate {

    //新建属性访客视图
    var VisitorLoginView: visitorLoginView?
    
    //设置用户是否登录的标记
//    var userLogin = false  //进入访客视图, true不进入访客视图
    
//    var userLogin = UserAccount.loadAccount() != nil //表示登陆成功
    var userLogin = UserAccountViewModel().userLogin
    
    //加载子视图,准备所有的视图层次关系 一旦实现了 loadView则 xib/sb 自动失效
    //若检测 view(根视图)为 nil 会自动调用 loadView
    override func loadView() {
        if userLogin {
        
            //显示 tableView
            super.loadView()
        }else {
        setVisitorLoginView()
        }
    }
    
   private func setVisitorLoginView() {
    
    /**
    访客视图赋值
    */
    //实例化访客视图再复制
        VisitorLoginView = visitorLoginView()
    
    //设置代理
    VisitorLoginView?.visitroViewDelegate = self
    
        view = VisitorLoginView
    
    //不可直接赋值
//    view = visitorLoginView()
    
    self.navigationItem.leftBarButtonItem = UIBarButtonItem(title: "登陆", style: .Plain, target: self, action: "userWillLogin")
    
    self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "注册", style: .Plain, target: self, action: "userWillRegister")
    }
    
    //代理方法
    func userWillLogin() {
//        print(__FUNCTION__)
        
        //授权
        let oauth = OAuthViewController()
        
        //添加到导航控制器
        let nav = UINavigationController(rootViewController: oauth)
        
        //现在的,破锐 Z 特
        presentViewController(nav, animated: true, completion: nil)
        
    }
    
    func userWillRegister() {
//        print(__FUNCTION__)
    }
    
    
    override func viewDidLoad() {
        super.viewDidLoad()

//      print(view.bounds)
    
    
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    // MARK: - Table view data source

    override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
        // #warning Incomplete implementation, return the number of sections
        return 0
    }

    override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        // #warning Incomplete implementation, return the number of rows
        return 0
    }


}
